Item.dat
That file contains list of all items configurations. You can edit that file using any text file editor.
Example​
VNUM 1 70
NAME zts3e
INDEX 0 0 0 0 1 0
TYPE 0 1
FLAG 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
DATA 1 20 28 20 4 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BUFF -1 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
LINEDESC 1
zts4e
END
#========================================================
Notes​
- Between each item configuration there is a
END
keyword and#===...
separator. - That file never use spaces, only tabs.
- If you will specify wrong zts value (translation) it will display that zts value
(for example
zts3e
) in game.
Format​
VNUM {ItemVnum} {ItemPrice}
NAME {Name}
INDEX {InventoryType} {ItemType} {ItemSubType} {EquipmentSlot} {IconId} {VisualChangeId}
TYPE {AttackType} {RequiredClass}
FLAG {Flag1} {Flag2} {Flag3} {NoSelling} {NoDropping} {NoTrading} {UseableMinilandItem} {UseableMinilandItem2} {ShowWarningOnUse} {IsTimespaceRewardBox} {ShowDescriptionOwner} {Flag4} {FollowMouseOnUse} {ShowSomethingOnHover} {CanBeColored} {FemaleCanWear} {MaleCanWear} {Notused} {CanBeColored} {PlaySoundOnPickup} {UseReputationAsPrice} {IsHeroLvlEq} {Flag5} {IsLimited}
DATA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
BUFF {*BCard*} {*BCard*} {*BCard*} {*BCard*} {*BCard*}
LINEDESC 1
{Desc}
END
#========================================================
Its important to remember that values are separated by tabs, not spaces.
Visual Studio Code replaces tabs with spaces by default. Thats why recommended is to use Notepad++ or other text editor who will not replace tabs with spaces.
NAME
and LINEDESC
​
{Name}
and{Desc}
contains the key for translation. For examplezts3e
is a key for translation.- Translations can be found in
_code_<lang>_<filetype>.txt
files (for example_code_en_Item.txt
). - If you will specify wrong zts value (translation) it will display that zts value
(for example
zts3e
) in game.
INDEX
​
Value | Description |
---|---|
InventoryType | OpenNos.Domain/InventoryType.cs
|
ItemType | OpenNos.Domain/ItemType.cs
|
ItemSubType | ItemSubType is a subtype of ItemType. Its meaning depends on the ItemType. If ItemType is Weapon (0)
If ItemType is Armor (1)
If ItemType is Fashion (2)
If ItemType is Specialist (4)
If ItemType is Box (5)
If ItemType is Shell (6)
If InventoryType is Miniland (3)
|
EquipmentSlot | OpenNos.Domain/EquipmentType.cs
|
IconId | id of the icon file which is located in the NSipData.NOS file |
VisualChangeId | VisualChangeId |
FLAG
​
Each flag is a boolean value, 0 means false, 1 means true.
Index | Flag | Description |
---|---|---|
1 | Flag1 | All items have 0 there |
2 | Flag2 | All items have 0 there |
3 | Flag3 | 1 if Sealed Jajamaru SP or Sealed Princess Sakura Bead or Hat-Shaped Stone (propably useless) |
4 | NoSelling | |
5 | NoDropping | |
6 | NoTrading | |
7 | UseableMinilandItem | The same as UseableMinilandItem2 but with weird trash |
8 | UseableMinilandItem2 | Miniland structures (but not all) |
9 | ShowWarningOnUse | Open window to confirm use |
10 | IsTimespaceRewardBox | There is only one item (Mysterious Box, VNum: 1098 |
11 | ShowDescriptionOwner | |
12 | Flag4 | The purpouse is unknown |
13 | FollowMouseOnUse | |
14 | ShowSomethingOnHover | Costumes and clothes (showing custom clothes), wings, weapon skin, fairy |
15 | CanBeColored | |
16 | FemaleCanWear | |
17 | MaleCanWear | |
18 | Notused | All items have 0 there |
19 | PlaySoundOnPickup | |
20 | UseReputationAsPrice | |
21 | IsHeroLvlEq | |
22 | Flag5 | The purpouse is unknown |
23 | IsLimited |
DATA
​
- Contains 20 values.
- The meaning of each value depends on the context, for example, the same value can mean something different for a sword or armor.
More information can be found in Item.dat parsers in the server source code.
BUFF
​
- Contains 5 BCards.
- Each Bcard contains 5 values and this is the format:
*BCard*
{BCardVNUM} {EffectVal_1} {EffectVal_2} {BCardSub} {Target}
Common issues​
Game crashes​
Make sure format is correct.
- Are you using tabs instead of spaces?
- Is there a
END
keyword and#===...
separator between each item configuration? - Are the values in the correct order? (VNUM, NAME, INDEX, TYPE, FLAG, DATA, BUFF, LINEDESC, END)
- Are the values in correct range? (
FLAG
values are 0 or 1, maybe you are trying to use something unexpected) - Do you have correct amount of parameters in each line? (You have 20 values in
DATA
and 25 values inBUFF
and 23 values inFLAG
)
How to change item icon?​
IconId
is located in INDEX
row. You need to change it to the correct icon id. If icon does not exist it will default to question mark icon.
New icons can be added to the NSipData.NOS
file. The file name is the icon id.